#include <iostream>
#include <stdarg.h>

using namespace std;

int sum(int n, ...)
{
    va_list s;      // char*函数指针
    va_start(s, n); // 初始化s，让它指向第一个可变参数

    int sum = 0;
    while (n)
    {
        // int printf(const char *format, ...);
        //  printf("hello %d, hello %s, hello %c, hello %d,", 1, "hello", 'c', 123);
        sum += va_arg(s, int); // 获取当前位置的参数（int类型），并让s指向一下个参数

        n--;
    }

    va_end(s); // s = NULL
    return sum;
}

int main()
{
    cout << "sum(1, 2, 3, 4, 5) = " << sum(5, 1, 2, 3, 4, 5) << endl;
    return 0;
}
